//
//  UserBaseModel.swift
//  WeiBoOfSwift
//
//  Created by aven wu on 26/04/2018.
//  Copyright © 2018 GML. All rights reserved.
//

import UIKit

class UserBaseModel: NSObject {
    /// 用户ID
    @objc var id: Int = 0
    /// 友好显示名称
    @objc var name: String?
    /// 用户头像地址（中图），50×50像素
    @objc var profile_image_url: String?
    {
        didSet{
            if let urlStr = profile_image_url {
                profile_image_URL = NSURL(string: urlStr)
            }
        }
    }
    /*  转换后的URL 地址*/
    var profile_image_URL:NSURL?
    
    /// 时候是认证, true是, false不是
    @objc var verified: Bool = false
    /// 用户的认证类型，-1：没有认证，0，认证用户，2,3,5: 企业认证，220: 达人
    @objc var verified_type: Int = -1{
        didSet{
            switch verified_type
            {
            case 0:
                verifiedImage = UIImage(named: "avatar_vip")
            case 2, 3, 5:
                verifiedImage = UIImage(named: "avatar_enterprise_vip")
            case 220:
                verifiedImage = UIImage(named: "avatar_grassroot")
            default:
                verifiedImage = nil
            }
        }
    }
    /// 保存当前用户的认证图片
    var verifiedImage: UIImage?
    
    /// 会员等级
    @objc var mbrank: Int = 0
    {
        didSet{
            if mbrank > 0 && mbrank < 7
            {
                mbrankImage = UIImage(named: "common_icon_membership_level\(mbrank)")
            }
        }
    }
    var mbrankImage: UIImage?
    
    
    // 字典转模型
    init(dict: [String: AnyObject])
    {
        super.init()
        setValuesForKeys(dict)
    }
    
    override func setValue(_ value: Any?, forUndefinedKey key: String) {
        
    }
    
    
    // 打印当前模型
    var properties = ["id", "name", "profile_image_url", "verified", "verified_type"]
    override var description: String {
        let dict = dictionaryWithValues(forKeys: properties)
        return "\(dict)"
    }
}
